<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
</head>
<body>
  <div>hello</div>
  <script>
    // setTimeout(() => {
    //   let x = 100
    //   console.log(x)
    // }, 2000)

    // let y = 200

    // console.log(y)

    // $.ajax({
    //   url: './data.json',
    //   success(result) {
    //     console.log(result)
    //   },
    //   async: false
    // })
    // console.log(100)

    // let promise = new Promise((resolve, reject) => {
    //   setTimeout(() => {
    //     resolve(100)
    //     // reject(200)
    //   }, 2000)
    // })
    
    // promise.then(
    //   (result) => {
    //     console.log('succ:', result)
    //   },
    //   (error) => {
    //     console.log('fail:', error)
    //   }
    // )

    // let promise = new Promise((resolve, reject) => {
    //   $.ajax({
    //     url: './data1.json',
    //     success(result) {
    //       resolve(result)
    //     },
    //     error(err) {
    //       reject(err)
    //     }
    //   })
    // })

    // promise.then((result) => {
    //   console.log(result)
    // }, (err) => {
    //   console.log(err)
    // })

    // let p = $.ajax({
    //   url: './data.json',
    //   success(result) {
        
    //   },
    //   error(err) {
        
    //   }
    // })
    // p.then((result) => {
    //   console.log(result)
    // })

    // let promise = new Promise((resolve, reject) => {
    //   setTimeout(() => {
    //     let promise2 = new Promise((resolve2, reject2) => {
    //       setTimeout(() => {
    //         resolve2(200)
    //       }, 2000)
    //     })
    //     promise2.then((result) => {
    //       console.log(result)
    //     })
    //     resolve(100)
    //   }, 2000)
    // })

    // promise.then((res) => {
    //   console.log(res)
    // })

    function loadData() {
      // return $.ajax({
      //   url: './data.json',
      //   success(result) {
      //     console.log(0)
      //     return result
      //   }
      // })
      return new Promise((resolve, reject) => {
        setTimeout(() => {
          resolve(100)
        }, 2000)
      })
    }

    async function getData() {
      let result = await loadData()
      console.log(result)
    }
    ;(async function(){
      await getData()
      console.log(200)
    })()
  </script>
</body>
</html>